package com.wsoft.form.service;

import com.wsoft.form.dto.WfFormVirtualColumnReturnDTO;
import com.wsoft.form.entity.WfFormVirtualColumnEntity;
import com.wsoft.form.query.virtual.column.VirtualColumnInsertQuery;
import com.wsoft.form.query.virtual.column.VirtualColumnUpdateQuery;

import java.util.List;

/**
 * <p>
 * 自定义表单-虚拟字段表 服务类
 * </p>
 *
 * @author Z001
 * @since 2024年08月29日 09:11:06
 */
public interface IWfFormVirtualColumnService{

    /**
     * 新增虚拟字段
     * @param dto
     * @return
     */
    boolean insertVirtualColumn(VirtualColumnInsertQuery dto);

    /**
     * 修改虚拟字段
     * @param dto
     * @return
     */
    boolean updateVirtualColumn(VirtualColumnUpdateQuery dto);

    /**
     * 获取 表中 所有虚拟字段
     * @param id
     * @return
     */
    List<WfFormVirtualColumnEntity> listVirtualColumn(Long id);

    /**
     * 删除虚拟字段
     * @param virtualColumnId
     * @return
     */
    boolean delVirtualColumn(Long virtualColumnId);


    /**
     * 获取虚拟字段详情 ==> 并返回可选择的表信息和字段信息
     * @param virtualColumnId
     * @return
     */
    WfFormVirtualColumnReturnDTO virtualColumnInfo(Long virtualColumnId);

    /**
     * 根据id获取
     * @param id
     * @return
     */
    WfFormVirtualColumnEntity get(Long id);
}
